﻿using System;
using System.Collections.Generic;
using System.Linq;
using Crosland.Automotriz.Entidad;

namespace Crosland.Automotriz.Data.Dao.Linq
{
    public class clsT_Crm_Cliente_Local_VisitasDAO
    {
        private readonly DM_CROSLAND_20130417Entities ContextoDeObjs = new DM_CROSLAND_20130417Entities();

        public IEnumerable<Object> Listar(int ID_CLIENTE, int ID_LOCAL)
        {
            IEnumerable<Object> lista = new List<Object>();
            try
            {
                var q = from c in ContextoDeObjs.T_CRM_CLIENTE_LOCAL_VISITAS
                        where c.ID_CLIENTE == ID_CLIENTE
                        && c.ID_LOCAL == ID_LOCAL
                        orderby c.FEC_VISITA descending
                        select new
                        {
                            NOMBRE_APELLIDO = c.TD_VENDEDOR.APELLIDO+ ", " + c.TD_VENDEDOR.NOMBRE,
                            c.FEC_VISITA,
                            c.DES_OBSERVACION,
                            c.ID_CLIENTE_LOCAL_VISITA
                        };
                lista = q.ToList();
            }
            catch (Exception)
            {

            }
            return lista;
        }

        public bool Insertar(T_CRM_CLIENTE_LOCAL_VISITAS Obj)
        {
            try
            {
                DM_CROSLAND_20130417Entities ContextoDeObjs = new DM_CROSLAND_20130417Entities();
                ContextoDeObjs.AddObject("T_CRM_CLIENTE_LOCAL_VISITAS", Obj);
                ContextoDeObjs.SaveChanges();
            }
            catch (Exception)
            {
                return false;
            }
            return true;
        }

        public bool Eliminar(int ID_CLIENTE_LOCAL_VISITA)
        {
            try
            {
                ContextoDeObjs.ExecuteStoreCommand("EXEC USP_Visita_Eliminar " + ID_CLIENTE_LOCAL_VISITA.ToString());

                return true;
            }
            catch
            {
                return false;
            }
        }

        public int ObtenerUltimoID()
        {
            try
            {
                DM_CROSLAND_20130417Entities ContextoDeObjs = new DM_CROSLAND_20130417Entities();
                var resultado = ContextoDeObjs.T_CRM_CLIENTE_LOCAL_VISITAS.Select(a => a.ID_CLIENTE_LOCAL_VISITA).Max();
                return int.Parse(resultado.ToString());
            }
            catch (Exception)
            {
                return 0;
            }
        }
    }
}
